package com.bd.scm.module.user.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.bd.scm.domain.dto.user.PersonnelFilesDto;
import com.bd.scm.domain.models.user.PersonnelFiles;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface IPersonnelFilesService {
    /**
     * 查询人员
     * @param personnelFilesDto
     * @return
     */
    IPage<PersonnelFiles> getPersonList(PersonnelFilesDto personnelFilesDto);

    /**
     * 离职
     * @param j
     * @param clientIp
     * @return
     */
    String quitPerson(List<PersonnelFilesDto> j, String clientIp);

    /**
     * 修改
     * @param personnelFilesDto,clientIp
     * @return
     */
    String updatePerson(PersonnelFilesDto personnelFilesDto, String clientIp);

    /**
     * 新增
     * @param personnelFilesDto,clientIp
     * @return
     */
    String addPerson(PersonnelFilesDto personnelFilesDto, String clientIp);

    /**
     * 调动
     * @param j
     * @param clientIp
     * @return
     */
    String transferPerson(List<PersonnelFilesDto> j, String clientIp);

    /**
     * 获取账户类型.
     * @param
     * @return 账户类型信息
     */
    List<PersonnelFilesDto> getacTypeList();
    /**
     * 获取民族.
     * @param
     * @return 民族信息
     */
    List<PersonnelFilesDto> getNation();
    /**
     * 获取籍贯信息.
     * @param
     * @return 籍贯信息
     */
    List<PersonnelFilesDto> getNative();
    /**
     * 获取籍贯信息.
     * @param
     * @return 籍贯信息
     */
    List<PersonnelFilesDto> getUserType();

    /**
     * 根据人员ID获取人员信息.
     *
     * @param personnelFilesDto 条件
     * @return 人员信息
     */
    public PersonnelFilesDto getUserById(PersonnelFilesDto personnelFilesDto);

    /**
     * 获取人员编号.
     *
     * @param
     * @return 人员信息
     */
    public PersonnelFilesDto getUserSerialAndNo();

    /**
     * 上传数据
     * @param file 上传的Excel
     */
    public String uploadingExcel(MultipartFile file, HttpServletRequest request) throws  Exception;

}
